Skip to main content

linux 网络安全策略

查看空密码账号

awk -F: '($2 == ""){print $1}' /etc/shadow

修改配置密码周期策略

vim /etc/login.defs

# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999 # 密码最大过期
PASS_MIN_DAYS 0 # 最小
PASS_MIN_LEN 8 # 密码长度
PASS_WARN_AGE 7 # 使用天数警告

此策略只对策略实施后所创建的帐号生效, 以前的帐号还是按99999天周期时间来算。

密码复杂度限制

vim /etc/pam.d/system-auth 配置密码复杂度

# 添加密码的要求
password requisite pam_cracklib.so retry=3 difok=2 minlen=8 lcredit=-1 dcredit=-1
  • retry - 重试多少次后返回密码修改错误
  • difok - 本次密码与上次密码至少不同字符数
  • minlen - 密码最小长度,此配置优先于login.defs中的PASS_MAX_DAYS
  • lcredit - 最少小写字母
  • dcredit - 最少数字

【注】用root修改其他帐号都不受密码周期及复杂度配置的影响。

登陆失败策略

配置登陆策略,比如用户登陆错误多少次,锁定账号,多久后解锁

# 查看用户登陆失败次数
pam_tally2 --user root

# 解锁某个被冻结的用户
pam_tally2 -r -u root
#控制台限制:
vim /etc/pam.d/login

# ssh限制
vim /etc/pam.d/sshd (需要添加在头部位置)

# 添加登陆失败策略
auth required pam_tally2.so deny=5 lock_time=10 even_deny_root unlock_time=30
  • pam_tally2.so - PAM模块,限定用户的登录失败次数,如果次数达到设置的阈值,则锁定用户。

  • deny - 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户

  • lock_time - 设定普通用户锁定后,多少时间后解锁,单位是秒;

  • even_deny_root - 也限制root用户(默认配置就锁定root帐号);

  • unlock_time - 设定普通用户锁定后,多少时间后解锁,单位是秒;

  • root_unlock_time - 设定root用户锁定后,多少时间后解锁,单位是秒;

审计策略

开启审计后,若系统出现格式转换,安全事故都会记录到系统日志

rsyslogauditd 服务

systemctl start auditd

systemctl start auditd

超时锁定

设置登陆超时,自动释放系统资源,提高安全性

vim /etc/profile    - 查看对应的 export TMOUT=xxxx 超时时间,如果没有,则自己设置